home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / c / EasygadgetsSou.lha / EasyGadgets / Listview_kind.h < prev    next >
C/C++ Source or Header  |  1994-11-18  |  2KB  |  75 lines

  1. /*
  2.  *    File:                    Listview_kind.h
  3.  *    Description:    
  4.  *
  5.  *    (C) 1994, Ketil Hunn
  6.  *
  7.  */
  8.  
  9.  
  10. #ifndef LISTVIEW_KIND_H
  11. #define LISTVIEW_KIND_H
  12.  
  13. #include <exec/types.h>
  14. #include <exec/memory.h>
  15. #include <exec/lists.h>
  16. #include <exec/libraries.h>
  17.  
  18. #include <graphics/gfxmacros.h>
  19. #include <graphics/regions.h>
  20.  
  21. #include <intuition/intuition.h>
  22. #include <intuition/classusr.h>
  23. #include <intuition/gadgetclass.h>
  24. #include <intuition/icclass.h>
  25. #include <intuition/imageclass.h>
  26.  
  27. #include <utility/tagitem.h>
  28.  
  29. #include <stdlib.h>
  30.  
  31. #include <proto/all.h>
  32.  
  33. extern  Class *CreateListviewClass(void);
  34. extern  BOOL DisposeListviewClass(Class *cl);
  35.  
  36. #define EGLV_TAGBASE            (TAG_USER + 700)
  37. #define EGLV_Labels                (EGLV_TAGBASE)
  38. #define EGLV_Selected            (EGLV_TAGBASE+1)
  39. #define EGLV_TextFont            (EGLV_TAGBASE+2)
  40. #define EGLV_MinWidth            28
  41. #define EGLV_MinHeight        8
  42.  
  43. /*****************************************************/
  44. /* Private data, do NOT USE this outside class code. */
  45. /*****************************************************/
  46. #ifdef LISTVIEWCLASS_PRIVATE
  47.  
  48. #define EGLV_SetTagArg(tag, id, data)   {tag.ti_Tag = (ULONG)(id);\
  49.                                         tag.ti_Data = (ULONG)(data);}
  50.  
  51. typedef ULONG (*HookFunction)(void);
  52.  
  53. struct ListviewData {
  54.     struct  List *Labels;
  55.     UWORD   Active;
  56.     UWORD   Count;
  57.     BOOL    NewLook;
  58.  
  59.     /* For rendering. */
  60.     struct  Image *FrameImage;
  61.     struct  TextFont *Font;
  62.  
  63.     /* Temporary data for Listview. */
  64.     UWORD   ItemHeight;
  65.     UWORD   FitsItems;
  66.     BOOL    ActiveFromMouse;
  67.     UWORD   Temp_Active;
  68.     struct  Window *popup_window;
  69.     struct  Rectangle rect;
  70. };
  71.  
  72. #endif
  73.  
  74. #endif
  75.